The present invention relates to a software preparing method, and more particularly to a method for creating a software module and message data when the software module is developed in a distributed system, and a method for preparing a data-flow-structured program with the I/O specification defined by message data using multiple program languages.
In a program development supporting system in which programs are designed in module structures and the modules are individually formed, in order to make it easy to change the program, there is proposed a method of analyzing the portion of a program source to be changed to investigate its influencing range, as disclosed in JP-A-63-273132. This method is silent on assuring consistency of designed data in designing software to support program development.
Further, generally, where a self-distributed software module is to be developed, its processing contents are determined after input and output messages are defined. In particular, in developing the software module in a distributed manner, in order to assure consistency with the module and message data already developed, on the basis of the design specifications, non-definition and multi-definition of message data used by the module are checked and they are unified or separated.
The above prior art has the following defects. First of all, if software is developed in a distributed manner, the message data which is the same as or analogous to the message data already defined may be defined.
Secondly, the presence of the message data having the same structure means that the message data defined later is not required or unified with the prior message data. The presence of the message data having the analogous structure should be reconsidered to determine whether or not they are really required or if they should be unified or separated.
Further, the data item already defined may be multi-defined.
Meanwhile, development of multiple programs prepared in a different language through the same function for fault tolerance is disclosed in e.g., "The N-Version Approach to Fault-Tolerant Software", IEEE Transaction on Software Engineering, Vol. SE-11, No. 2, December 1985, pp. 1491-1501.
FIG. 14 is a block diagram showing the conventional method of preparing multiple programs for the same function specifications.
In the conventional method, as seen from FIG. 14, the function specification 711 described in an application term is interpreted to prepare processing specifications 712, 713 and 714 corresponding to different languages; individual programs are prepared based on these processing specifications. An operator understands the sentence in the function specification 711 to prepare at least one of the processing specification 712 corresponding to language A, the processing specification 713 corresponding to language B and the processing specification 714 corresponding to language C. Specifically, the operator determines the data items which can be dealt with by the corresponding languages on the basis of the corresponding processing specifications. It should be noted that the function specification on the basis of which of the individual processing specifications are prepared must be interpreted and converted in terms of different programs for respective languages.
Thus, the corresponding language A program 715, language B program 716 and language C program 717 can be prepared.
Now it is assumed that the function specification 711 includes the function specification defined by a sentence, but does not take the form such as a module structure, data item structure, etc. which can be understood by a certain computer. Specifically, the function specification 711 expresses the function to be demonstrated using languages and terms of an application or user, in the fashion e.g. the "tracking of a steel material plate is carried out within a zone corresponding to a tandem mill". On the other hand, the processing specification expresses the contents of a computer processing for realizing the contents of the function specification using the language for a program processing, in the fashion of e.g. "a tracking initial state is prepared referring to an index table".
As described above, the prior art individually prepares the processing specifications corresponding to different programs so that it is very disadvantageous in the viewpoint of production efficiency and cost in the case where multiple programs for the same function are to be prepared for fault tolerance. For this reason, the above prior art has not been put into practice.